home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / sptmbr16.lha / generic-functions.lisp < prev    next >
Text File  |  1993-01-07  |  24KB  |  780 lines

  1. ;;;-*-Mode:LISP; Package:PCL; Base:10; Syntax:Common-lisp -*-
  2.  
  3. (in-package :pcl)
  4.  
  5. ;;; class predicates
  6. (defgeneric class-eq-specializer-p (object))
  7. ;          (t)
  8. ;          (class-eq-specializer)
  9.  
  10. (defgeneric classp (object))
  11. ;          (t)
  12. ;          (class)
  13.  
  14. (defgeneric eql-specializer-p (object))
  15. ;          (t)
  16. ;          (eql-specializer)
  17.  
  18. (defgeneric exact-class-specializer-p (object))
  19. ;          (t)
  20. ;          (exact-class-specializer)
  21.  
  22. (defgeneric forward-referenced-class-p (object))
  23. ;          (t)
  24. ;          (forward-referenced-class)
  25.  
  26. (defgeneric funcallable-standard-class-p (object))
  27. ;          (t)
  28. ;          (funcallable-standard-class)
  29.  
  30. (defgeneric generic-function-p (object))
  31. ;          (t)
  32. ;          (generic-function)
  33.  
  34. (defgeneric legal-lambda-list-p (object x))
  35. ;          (standard-method t)
  36.  
  37. (defgeneric method-combination-p (object))
  38. ;          (t)
  39. ;          (method-combination)
  40.  
  41. (defgeneric method-p (object))
  42. ;          (t)
  43. ;          (method)
  44.  
  45. (defgeneric short-method-combination-p (object))
  46. ;          (short-method-combination)
  47. ;          (t)
  48.  
  49. (defgeneric slot-class-p (object))
  50. ;          (t)
  51. ;          (slot-class)
  52.  
  53. (defgeneric specializerp (object))
  54. ;          (t)
  55. ;          (specializer)
  56.  
  57. (defgeneric standard-accessor-method-p (object))
  58. ;          (t)
  59. ;          (standard-accessor-method)
  60.  
  61. (defgeneric standard-boundp-method-p (object))
  62. ;          (t)
  63. ;          (standard-boundp-method)
  64.  
  65. (defgeneric standard-class-p (object))
  66. ;          (t)
  67. ;          (standard-class)
  68.  
  69. (defgeneric standard-generic-function-p (object))
  70. ;          (t)
  71. ;          (standard-generic-function)
  72.  
  73. (defgeneric standard-method-p (object))
  74. ;          (t)
  75. ;          (standard-method)
  76.  
  77. (defgeneric standard-reader-method-p (object))
  78. ;          (t)
  79. ;          (standard-reader-method)
  80.  
  81. (defgeneric standard-writer-method-p (object))
  82. ;          (t)
  83. ;          (standard-writer-method)
  84.  
  85. (defgeneric structure-class-p (object))
  86. ;          (t)
  87. ;          (structure-class)
  88.  
  89.  
  90. ;;; readers
  91. (defgeneric accessor-method-slot-definition (standard-accessor-method))
  92. ;          (standard-accessor-method)
  93.  
  94. (defgeneric class-can-precede-list (pcl-class))
  95. ;          (pcl-class)
  96.  
  97. (defgeneric class-defstruct-constructor (structure-class))
  98. ;          (structure-class)
  99.  
  100. (defgeneric class-defstruct-form (structure-class))
  101. ;          (structure-class)
  102.  
  103. (defgeneric class-direct-subclasses (class))
  104. ;          (class)
  105.  
  106. (defgeneric class-direct-superclasses (class))
  107. ;          (class)
  108.  
  109. (defgeneric class-eq-specializer (class))
  110. ;          (class)
  111.  
  112. (defgeneric class-incompatible-superclass-list (pcl-class))
  113. ;          (pcl-class)
  114.  
  115. (defgeneric class-initialize-info (slot-class))
  116. ;          (slot-class)
  117.  
  118. (defgeneric class-name (class))
  119. ;          (class)
  120.  
  121. (defgeneric class-precedence-list (pcl-class))
  122. ;          (pcl-class)
  123.  
  124. (defgeneric class-predicate-name (class))
  125. ;          (class)
  126.  
  127. (defgeneric class-wrapper (pcl-class))
  128. ;          (pcl-class)
  129.  
  130. (defgeneric definition-source (definition-source-mixin))
  131. ;          (definition-source-mixin)
  132.  
  133. (defgeneric eql-specializer-object (eql-specializer))
  134. ;          (eql-specializer)
  135.  
  136. (defgeneric generic-function-method-class (standard-generic-function))
  137. ;          (standard-generic-function)
  138.  
  139. (defgeneric generic-function-method-combination (standard-generic-function))
  140. ;          (standard-generic-function)
  141.  
  142. (defgeneric generic-function-methods (standard-generic-function))
  143. ;          (standard-generic-function)
  144.  
  145. (defgeneric generic-function-name (standard-generic-function))
  146. ;          (standard-generic-function)
  147.  
  148. (defgeneric gf-arg-info (standard-generic-function))
  149. ;          (standard-generic-function)
  150.  
  151. (defgeneric gf-dfun-state (standard-generic-function))
  152. ;          (standard-generic-function)
  153.  
  154. (defgeneric gf-pretty-arglist (standard-generic-function))
  155. ;          (standard-generic-function)
  156.  
  157. (defgeneric long-method-combination-function (long-method-combination))
  158. ;          (long-method-combination)
  159.  
  160. (defgeneric method-combination-documentation (standard-method-combination))
  161. ;          (standard-method-combination)
  162.  
  163. (defgeneric method-combination-options (standard-method-combination))
  164. ;          (standard-method-combination)
  165.  
  166. (defgeneric method-combination-type (standard-method-combination))
  167. ;          (standard-method-combination)
  168.  
  169. (defgeneric method-fast-function (standard-method))
  170. ;          (standard-method)
  171.  
  172. (defgeneric method-generic-function (standard-method))
  173. ;          (traced-method)
  174. ;          (standard-method)
  175.  
  176. (defgeneric object-plist (plist-mixin))
  177. ;          (plist-mixin)
  178.  
  179. (defgeneric short-combination-identity-with-one-argument (short-method-combination))
  180. ;          (short-method-combination)
  181.  
  182. (defgeneric short-combination-operator (short-method-combination))
  183. ;          (short-method-combination)
  184.  
  185. (defgeneric slot-definition-boundp-function (effective-slot-definition))
  186. ;          (effective-slot-definition)
  187.  
  188. (defgeneric slot-definition-class (slot-definition))
  189. ;          (slot-definition)
  190.  
  191. (defgeneric slot-definition-defstruct-accessor-symbol (structure-slot-definition))
  192. ;          (structure-slot-definition)
  193.  
  194. (defgeneric slot-definition-initargs (slot-definition))
  195. ;          (slot-definition)
  196.  
  197. (defgeneric slot-definition-initform (slot-definition))
  198. ;          (slot-definition)
  199.  
  200. (defgeneric slot-definition-initfunction (slot-definition))
  201. ;          (slot-definition)
  202.  
  203. (defgeneric slot-definition-internal-reader-function (structure-slot-definition))
  204. ;          (structure-slot-definition)
  205.  
  206. (defgeneric slot-definition-internal-writer-function (structure-slot-definition))
  207. ;          (structure-slot-definition)
  208.  
  209. (defgeneric slot-definition-location (standard-effective-slot-definition))
  210. ;          (standard-effective-slot-definition)
  211.  
  212. (defgeneric slot-definition-name (slot-definition))
  213. ;          (slot-definition)
  214.  
  215. (defgeneric slot-definition-reader-function (effective-slot-definition))
  216. ;          (effective-slot-definition)
  217.  
  218. (defgeneric slot-definition-readers (slot-definition))
  219. ;          (slot-definition)
  220.  
  221. (defgeneric slot-definition-type (slot-definition))
  222. ;          (slot-definition)
  223.  
  224. (defgeneric slot-definition-writer-function (effective-slot-definition))
  225. ;          (effective-slot-definition)
  226.  
  227. (defgeneric slot-definition-writers (slot-definition))
  228. ;          (slot-definition)
  229.  
  230. (defgeneric specializer-object (class-eq-specializer))
  231. ;          (eql-specializer)
  232. ;          (class-prototype-specializer)
  233. ;          (class-eq-specializer)
  234.  
  235. (defgeneric specializer-type (specializer))
  236. ;          (specializer)
  237.  
  238.  
  239. ;;; writers
  240. (defgeneric (setf class-defstruct-constructor) (new-value structure-class))
  241. ;          (t structure-class)
  242.  
  243. (defgeneric (setf class-defstruct-form) (new-value structure-class))
  244. ;          (t structure-class)
  245.  
  246. (defgeneric (setf class-direct-slots) (new-value slot-class))
  247. ;          (t slot-class)
  248.  
  249. (defgeneric (setf class-incompatible-superclass-list) (new-value pcl-class))
  250. ;          (t pcl-class)
  251.  
  252. (defgeneric (setf class-initialize-info) (new-value slot-class))
  253. ;          (t slot-class)
  254.  
  255. (defgeneric (setf class-name) (new-value class))
  256. ;          (t class)
  257.  
  258. (defgeneric (setf class-slots) (new-value slot-class))
  259. ;          (t slot-class)
  260.  
  261. (defgeneric (setf generic-function-method-class) (new-value standard-generic-function))
  262. ;          (t standard-generic-function)
  263.  
  264. (defgeneric (setf generic-function-method-combination) (new-value standard-generic-function))
  265. ;          (t standard-generic-function)
  266.  
  267. (defgeneric (setf generic-function-methods) (new-value standard-generic-function))
  268. ;          (t standard-generic-function)
  269.  
  270. (defgeneric (setf generic-function-name) (new-value standard-generic-function))
  271. ;          (t standard-generic-function)
  272.  
  273. (defgeneric (setf gf-dfun-state) (new-value standard-generic-function))
  274. ;          (t standard-generic-function)
  275.  
  276. (defgeneric (setf gf-pretty-arglist) (new-value standard-generic-function))
  277. ;          (t standard-generic-function)
  278.  
  279. (defgeneric (setf method-generic-function) (new-value standard-method))
  280. ;          (t traced-method)
  281. ;          (t standard-method)
  282.  
  283. (defgeneric (setf object-plist) (new-value plist-mixin))
  284. ;          (t plist-mixin)
  285.  
  286. (defgeneric (setf slot-definition-allocation) (new-value standard-slot-definition))
  287. ;          (t standard-slot-definition)
  288.  
  289. (defgeneric (setf slot-definition-boundp-function) (new-value effective-slot-definition))
  290. ;          (t effective-slot-definition)
  291.  
  292. (defgeneric (setf slot-definition-class) (new-value slot-definition))
  293. ;          (t slot-definition)
  294.  
  295. (defgeneric (setf slot-definition-defstruct-accessor-symbol) (new-value structure-slot-definition))
  296. ;          (t structure-slot-definition)
  297.  
  298. (defgeneric (setf slot-definition-initargs) (new-value slot-definition))
  299. ;          (t slot-definition)
  300.  
  301. (defgeneric (setf slot-definition-initform) (new-value slot-definition))
  302. ;          (t slot-definition)
  303.  
  304. (defgeneric (setf slot-definition-initfunction) (new-value slot-definition))
  305. ;          (t slot-definition)
  306.  
  307. (defgeneric (setf slot-definition-internal-reader-function) (new-value structure-slot-definition))
  308. ;          (t structure-slot-definition)
  309.  
  310. (defgeneric (setf slot-definition-internal-writer-function) (new-value structure-slot-definition))
  311. ;          (t structure-slot-definition)
  312.  
  313. (defgeneric (setf slot-definition-location) (new-value standard-effective-slot-definition))
  314. ;          (t standard-effective-slot-definition)
  315.  
  316. (defgeneric (setf slot-definition-name) (new-value slot-definition))
  317. ;          (t slot-definition)
  318.  
  319. (defgeneric (setf slot-definition-reader-function) (new-value effective-slot-definition))
  320. ;          (t effective-slot-definition)
  321.  
  322. (defgeneric (setf slot-definition-readers) (new-value slot-definition))
  323. ;          (t slot-definition)
  324.  
  325. (defgeneric (setf slot-definition-type) (new-value slot-definition))
  326. ;          (t slot-definition)
  327.  
  328. (defgeneric (setf slot-definition-writer-function) (new-value effective-slot-definition))
  329. ;          (t effective-slot-definition)
  330.  
  331. (defgeneric (setf slot-definition-writers) (new-value slot-definition))
  332. ;          (t slot-definition)
  333.  
  334.  
  335. ;;; 1 argument 
  336. (defgeneric accessor-method-class (method))
  337. ;          (standard-accessor-method)
  338. ;          (standard-writer-method)
  339.  
  340. (defgeneric accessor-method-slot-name (m))
  341. ;          (traced-method)
  342. ;          (standard-accessor-method)
  343.  
  344. (defgeneric class-constructors (class))
  345. ;          (slot-class)
  346.  
  347. (defgeneric class-default-initargs (class))
  348. ;          (slot-class)
  349. ;          (built-in-class)
  350.  
  351. (defgeneric class-direct-default-initargs (class))
  352. ;          (slot-class)
  353. ;          (built-in-class)
  354.  
  355. (defgeneric class-direct-slots (class))
  356. ;          (slot-class)
  357. ;          (built-in-class)
  358.  
  359. (defgeneric class-finalized-p (class))
  360. ;          (pcl-class)
  361.  
  362. (defgeneric class-prototype (class))
  363. ;          (pcl-class)
  364. ;          (std-class)
  365. ;          (structure-class)
  366.  
  367. (defgeneric class-slot-cells (class))
  368. ;          (std-class)
  369.  
  370. (defgeneric class-slots (class))
  371. ;          (slot-class)
  372. ;          (built-in-class)
  373.  
  374. (defgeneric compute-class-precedence-list (root))
  375. ;          (slot-class)
  376.  
  377. (defgeneric compute-default-initargs (class))
  378. ;          (slot-class)
  379.  
  380. (defgeneric compute-discriminating-function (gf))
  381. ;          (standard-generic-function)
  382.  
  383. (defgeneric compute-discriminating-function-arglist-info (generic-function))
  384. ;          (standard-generic-function)
  385.  
  386. (defgeneric compute-slots (class))
  387. ;          (std-class)
  388. ;  :around (std-class)
  389. ;          (structure-class)
  390. ;  :around (structure-class)
  391.  
  392. (defgeneric finalize-inheritance (class))
  393. ;          (structure-class)
  394. ;          (std-class)
  395.  
  396. (defgeneric function-keywords (method))
  397. ;          (standard-method)
  398.  
  399. (defgeneric generic-function-lambda-list (gf))
  400. ;          (generic-function)
  401.  
  402. (defgeneric generic-function-pretty-arglist (generic-function))
  403. ;          (standard-generic-function)
  404.  
  405. (defgeneric gf-fast-method-function-p (gf))
  406. ;          (standard-generic-function)
  407.  
  408. (defgeneric initialize-internal-slot-functions (slotd))
  409. ;          (effective-slot-definition)
  410.  
  411. (defgeneric make-instances-obsolete (class))
  412. ;          (std-class)
  413. ;          (symbol)
  414.  
  415. (defgeneric method-function (method))
  416. ;          (traced-method)
  417. ;          (standard-method)
  418.  
  419. (defgeneric method-lambda-list (m))
  420. ;          (traced-method)
  421. ;          (standard-method)
  422.  
  423. (defgeneric method-pretty-arglist (method))
  424. ;          (standard-method)
  425.  
  426. (defgeneric method-qualifiers (m))
  427. ;          (traced-method)
  428. ;          (standard-method)
  429.  
  430. (defgeneric method-specializers (m))
  431. ;          (traced-method)
  432. ;          (standard-method)
  433.  
  434. (defgeneric raw-instance-allocator (class))
  435. ;          (standard-class)
  436. ;          (funcallable-standard-class)
  437.  
  438. (defgeneric slot-definition-allocation (slotd))
  439. ;          (standard-slot-definition)
  440. ;          (structure-slot-definition)
  441.  
  442. (defgeneric slots-fetcher (class))
  443. ;          (standard-class)
  444. ;          (funcallable-standard-class)
  445.  
  446. (defgeneric specializer-class (specializer))
  447. ;          (class-prototype-specializer)
  448. ;          (class-eq-specializer)
  449. ;          (class)
  450. ;          (eql-specializer)
  451.  
  452. (defgeneric specializer-direct-generic-functions (specializer))
  453. ;          (class)
  454. ;          (specializer-with-object)
  455.  
  456. (defgeneric specializer-direct-methods (specializer))
  457. ;          (class)
  458. ;          (specializer-with-object)
  459.  
  460. (defgeneric specializer-method-table (specializer))
  461. ;          (eql-specializer)
  462. ;          (class-eq-specializer)
  463.  
  464. (defgeneric update-constructors (class))
  465. ;          (slot-class)
  466. ;          (class)
  467.  
  468. (defgeneric wrapper-fetcher (class))
  469. ;          (standard-class)
  470. ;          (funcallable-standard-class)
  471.  
  472.  
  473. ;;; 2 arguments 
  474. (defgeneric add-dependent (metaobject dependent))
  475. ;          (dependent-update-mixin t)
  476.  
  477. (defgeneric add-direct-method (specializer method))
  478. ;          (class method)
  479. ;          (specializer-with-object method)
  480.  
  481. (defgeneric add-direct-subclass (class subclass))
  482. ;          (class class)
  483.  
  484. (defgeneric add-method (generic-function method))
  485. ;          (standard-generic-function method)
  486.  
  487. (defgeneric change-class (instance new-class-name))
  488. ;          (standard-object standard-class)
  489. ;          (standard-object funcallable-standard-class)
  490. ;          (t symbol)
  491.  
  492. (defgeneric class-slot-value (class slot-name))
  493. ;          (std-class t)
  494.  
  495. (defgeneric compatible-meta-class-change-p (class proto-new-class))
  496. ;          (t t)
  497.  
  498. (defgeneric compute-applicable-methods (generic-function arguments))
  499. ;          (generic-function t)
  500.  
  501. (defgeneric compute-applicable-methods-using-classes (generic-function classes))
  502. ;          (generic-function t)
  503.  
  504. (defgeneric compute-effective-slot-definition (class dslotds))
  505. ;          (slot-class t)
  506.  
  507. (defgeneric compute-effective-slot-definition-initargs (class direct-slotds))
  508. ;          (slot-class t)
  509. ;  :around (structure-class t)
  510.  
  511. (defgeneric default-initargs (class supplied-initargs))
  512. ;          (slot-class t)
  513.  
  514. (defgeneric describe-object (object stream))
  515. ;          (class t)
  516. ;          (standard-generic-function t)
  517. ;          (slot-object t)
  518. ;          (t t)
  519.  
  520. (defgeneric direct-slot-definition-class (class initargs))
  521. ;          (structure-class t)
  522. ;          (std-class t)
  523.  
  524. (defgeneric effective-slot-definition-class (class initargs))
  525. ;          (std-class t)
  526. ;          (structure-class t)
  527.  
  528. (defgeneric inform-type-system-about-class (class name))
  529. ;          (std-class t)
  530. ;          (structure-class t)
  531.  
  532. (defgeneric legal-documentation-p (object x))
  533. ;          (standard-method t)
  534.  
  535. (defgeneric legal-method-function-p (object x))
  536. ;          (standard-method t)
  537.  
  538. (defgeneric legal-qualifier-p (object x))
  539. ;          (standard-method t)
  540.  
  541. (defgeneric legal-qualifiers-p (object x))
  542. ;          (standard-method t)
  543.  
  544. (defgeneric legal-slot-name-p (object x))
  545. ;          (standard-method t)
  546.  
  547. (defgeneric legal-specializer-p (object x))
  548. ;          (standard-method t)
  549.  
  550. (defgeneric legal-specializers-p (object x))
  551. ;          (standard-method t)
  552.  
  553. (defgeneric make-boundp-method-function (class slot-name))
  554. ;          (slot-class t)
  555.  
  556. (defgeneric make-reader-method-function (class slot-name))
  557. ;          (slot-class t)
  558. ;          (funcallable-standard-class t)
  559.  
  560. (defgeneric make-writer-method-function (class slot-name))
  561. ;          (slot-class t)
  562. ;          (funcallable-standard-class t)
  563.  
  564. (defgeneric map-dependents (metaobject function))
  565. ;          (dependent-update-mixin t)
  566.  
  567. ;(defgeneric maybe-update-constructors (generic-function method))
  568. ;           (generic-function method)
  569.  
  570. (defgeneric print-object (mc stream))
  571. ;          (t t)
  572. ;          (class t)
  573. ;          (slot-definition t)
  574. ;          (standard-method t)
  575. ;          (standard-accessor-method t)
  576. ;          (generic-function t)
  577. ;          (standard-method-combination t)
  578.  
  579. (defgeneric remove-boundp-method (class generic-function))
  580. ;          (slot-class t)
  581.  
  582. (defgeneric remove-dependent (metaobject dependent))
  583. ;          (dependent-update-mixin t)
  584.  
  585. (defgeneric remove-direct-method (specializer method))
  586. ;          (class method)
  587. ;          (specializer-with-object method)
  588.  
  589. (defgeneric remove-direct-subclass (class subclass))
  590. ;          (class class)
  591.  
  592. (defgeneric remove-method (generic-function method))
  593. ;          (standard-generic-function method)
  594.  
  595. (defgeneric remove-reader-method (class generic-function))
  596. ;          (slot-class t)
  597.  
  598. (defgeneric remove-writer-method (class generic-function))
  599. ;          (slot-class t)
  600.  
  601. (defgeneric same-specializer-p (specl1 specl2))
  602. ;          (specializer specializer)
  603. ;          (class class)
  604. ;          (class-eq-specializer class-eq-specializer)
  605. ;          (eql-specializer eql-specializer)
  606.  
  607. (defgeneric slot-accessor-function (slotd type))
  608. ;          (effective-slot-definition t)
  609.  
  610. (defgeneric slot-accessor-std-p (slotd type))
  611. ;          (effective-slot-definition t)
  612.  
  613. (defgeneric slots-to-inspect (class object))
  614. ;          (slot-class slot-object)
  615.  
  616. (defgeneric update-gf-dfun (class gf))
  617. ;          (std-class t)
  618.  
  619. (defgeneric validate-superclass (fsc class))
  620. ;          (class class)
  621. ;          (class built-in-class)
  622. ;          (slot-class forward-referenced-class)
  623. ;          (funcallable-standard-class standard-class)
  624.  
  625.  
  626. ;;; 3 arguments 
  627. (defgeneric add-boundp-method (class generic-function slot-name))
  628. ;          (slot-class t t)
  629.  
  630. (defgeneric add-reader-method (class generic-function slot-name))
  631. ;          (slot-class t t)
  632.  
  633. (defgeneric add-writer-method (class generic-function slot-name))
  634. ;          (slot-class t t)
  635.  
  636. (defgeneric (setf class-slot-value) (nv class slot-name))
  637. ;          (t std-class t)
  638.  
  639. (defgeneric compute-effective-method (generic-function combin applicable-methods))
  640. ;          (generic-function long-method-combination t)
  641. ;          (generic-function short-method-combination t)
  642. ;          (generic-function standard-method-combination t)
  643.  
  644. (defgeneric compute-slot-accessor-info (slotd type gf))
  645. ;          (effective-slot-definition t t)
  646.  
  647. (defgeneric find-method-combination (generic-function type options))
  648. ;          (generic-function (eql progn) t)
  649. ;          (generic-function (eql or) t)
  650. ;          (generic-function (eql nconc) t)
  651. ;          (generic-function (eql min) t)
  652. ;          (generic-function (eql max) t)
  653. ;          (generic-function (eql list) t)
  654. ;          (generic-function (eql append) t)
  655. ;          (generic-function (eql and) t)
  656. ;          (generic-function (eql +) t)
  657. ;          (generic-function (eql standard) t)
  658.  
  659. (defgeneric (setf slot-accessor-function) (function slotd type))
  660. ;          (t effective-slot-definition t)
  661.  
  662. (defgeneric (setf slot-accessor-std-p) (value slotd type))
  663. ;          (t effective-slot-definition t)
  664.  
  665. (defgeneric slot-boundp-using-class (class object slotd))
  666. ;          (std-class standard-object standard-effective-slot-definition)
  667. ;          (structure-class structure-object structure-effective-slot-definition)
  668.  
  669. (defgeneric slot-makunbound-using-class (class object slotd))
  670. ;          (std-class standard-object standard-effective-slot-definition)
  671. ;          (structure-class structure-object structure-effective-slot-definition)
  672.  
  673. (defgeneric slot-unbound (class instance slot-name))
  674. ;          (t t t)
  675.  
  676. (defgeneric slot-value-using-class (class object slotd))
  677. ;          (std-class standard-object standard-effective-slot-definition)
  678. ;          (structure-class structure-object structure-effective-slot-definition)
  679.  
  680.  
  681. ;;; 4 arguments 
  682. (defgeneric make-method-lambda (proto-generic-function proto-method lambda-expression environment))
  683. ;          (standard-generic-function standard-method t t)
  684.  
  685. (defgeneric (setf slot-value-using-class) (new-value class object slotd))
  686. ;          (t std-class standard-object standard-effective-slot-definition)
  687. ;          (t structure-class structure-object structure-effective-slot-definition)
  688.  
  689.  
  690. ;;; 5 arguments 
  691. (defgeneric make-method-initargs-form (proto-generic-function proto-method lambda-expression lambda-list environment))
  692. ;          (standard-generic-function standard-method t t t)
  693.  
  694.  
  695. ;;; optional arguments  
  696. (defgeneric (setf documentation) (new-value slotd &optional doc-type))
  697. ;          (t t)
  698. ;          (t documentation-mixin)
  699. ;          (t standard-slot-definition)
  700.  
  701. (defgeneric documentation (slotd &optional doc-type))
  702. ;          (t)
  703. ;          (documentation-mixin)
  704. ;          (standard-slot-definition)
  705.  
  706. (defgeneric get-method (generic-function qualifiers specializers &optional (errorp t)))
  707. ;          (standard-generic-function t t)
  708.  
  709. (defgeneric remove-named-method (generic-function-name argument-specifiers &optional extra))
  710. ;          (t t)
  711.  
  712. (defgeneric slot-missing (class instance slot-name operation &optional new-value))
  713. ;          (t t t t)
  714.  
  715.  
  716. ;;; keyword arguments  
  717. (defgeneric allocate-instance (class &rest initargs))
  718. ;          (standard-class)
  719. ;          (structure-class)
  720. ;          (funcallable-standard-class)
  721.  
  722. (defgeneric ensure-class-using-class (name class &rest args &key &allow-other-keys))
  723. ;          (t null)
  724. ;          (t pcl-class)
  725.  
  726. (defgeneric ensure-generic-function-using-class (generic-function function-specifier &key &allow-other-keys))
  727. ;          (null t)
  728. ;          (generic-function t)
  729.  
  730. (defgeneric initialize-instance (gf &key &allow-other-keys))
  731. ;          (slot-object)
  732. ;  :after  (standard-generic-function)
  733.  
  734. (defgeneric make-instance (class &rest initargs))
  735. ;          (symbol)
  736. ;          (class)
  737.  
  738. (defgeneric no-applicable-method (generic-function &rest args))
  739. ;          (t)
  740.  
  741. (defgeneric reader-method-class (class direct-slot &rest initargs))
  742. ;          (slot-class t)
  743.  
  744. (defgeneric reinitialize-instance (gf &rest args &key &allow-other-keys))
  745. ;          (slot-object)
  746. ;  :before (slot-class)
  747. ;  :after  (slot-class)
  748. ;          (standard-method)
  749. ;  :after  (standard-generic-function)
  750.  
  751. (defgeneric shared-initialize (generic-function slot-names &key &allow-other-keys))
  752. ;          (slot-object t)
  753. ;  :after  (documentation-mixin t)
  754. ;  :after  (class-eq-specializer t)
  755. ;  :after  (eql-specializer t)
  756. ;  :after  (std-class t)
  757. ;  :before (class t)
  758. ;  :after  (structure-class t)
  759. ;  :before (built-in-class t)
  760. ;  :after  (standard-slot-definition t)
  761. ;  :after  (structure-slot-definition t)
  762. ;  :before (standard-method t)
  763. ;  :before (standard-accessor-method t)
  764. ;  :after  (standard-method t)
  765. ;  :after  (standard-accessor-method t)
  766. ;  :before (standard-generic-function t)
  767.  
  768. (defgeneric update-dependent (metaobject dependent &rest initargs))
  769.  
  770. (defgeneric update-instance-for-different-class (previous current &rest initargs))
  771. ;          (standard-object standard-object)
  772.  
  773. (defgeneric update-instance-for-redefined-class (instance added-slots discarded-slots property-list &rest initargs))
  774. ;          (standard-object t t t)
  775.  
  776. (defgeneric writer-method-class (class direct-slot &rest initargs))
  777. ;          (slot-class t)
  778.  
  779.  
  780.